source("code/setup.R")
# Data prep
WB_Gcosinor <- read_rds("output/WB_G-cosinor.rds")
WB_Scosinor <- read_rds("output/WB_S-cosinor.rds")
# Gather results
ROI_Gcosinor <- readRDS("output/ROI_G-cosinor.rds")
ROI_Scosinor <- readRDS("output/ROI_S-cosinor.rds") |> unnest(bsc)
plotdf <-
ROI_Scosinor |>
# Calc summary stats
group_by(measure,subject) |>
mutate(sub_resultant=acro2complex(acrophase) |> mean() |> abs()) |>
inner_join(WB_Scosinor |> select(measure,subject,sub_macro=acrophase)) |>
group_by(measure,roi) |>
rename(p_sub_cos = pvalue) |>
group_by(measure) |>
mutate(p_rank=-rank(p_sub_cos)/length(p_sub_cos)) |>
# Join to rest
group_by(measure,roi) |>
nest(by_visit = c(-measure,-roi)) |>
inner_join(ROI_Gcosinor |>
select(measure, roi,
p_gcos_cos=pvalue,
gcos_acro = acrophase, acro_u, acro_l,
gcos_amp = amplitude,
q_gcos_cos = qvalue,
amp_u,
amp_l,
gcos_mesor = MESOR))
# Ordering ROIs and adjusting acrophases
tmpdf <-
plotdf |>
unnest(by_visit) |>
ungroup() |>
group_by(measure) |>
nest() |>
mutate(tmp=map(data,function(x){
x |>
mutate(roif=factor(roi)) |>
mutate(subject=factor(subject)) |>
ungroup() |>
arrange(p_gcos_cos,(sub_macro)%%24) |>
mutate(roif=fct_inorder(roif)) |>
mutate(subject=fct_inorder(subject)) |>
mutate(subjectn=as.numeric(subject)) |>
mutate(roin=as.numeric(roif)) |>
mutate(roif2=fct_inorder(roif)) |>
mutate(roin2=as.numeric(roif2))
})) |> unnest(tmp) |>
ungroup() |>
arrange(measure) |>
mutate(roin_comb=factor(paste(measure,roin))) |>
mutate(roin_comb=fct_inorder(roin_comb))
Applying some preprocessing to the data:
# https://github.com/dgrtwo/drlib/blob/master/R/reorder_within.R
# For applying unique orderings within each facet while retaining
# the original labels
reorder_within <- function(x, by, within, fun = mean, sep = "___", ...) {
new_x <- paste(x, within, sep = sep)
stats::reorder(new_x, by, FUN = fun)
}
scale_y_reordered <- function(..., sep = "___") {
reg <- paste0(sep, ".+$")
ggplot2::scale_y_discrete(labels = function(x) gsub(reg, "", x), ...)
}
scale_x_reordered <- function(..., sep = "___") {
reg <- paste0(sep, ".+$")
ggplot2::scale_x_discrete(labels = function(x) gsub(reg, "", x), ...)
}
binsize=0.1
cuts <- seq(0,24,binsize)
bins <- levels(cut(1,cuts))
f3a_sub_act <-
tmpdf |>
mutate(measure=recode(measure, !!!int2extlab)) |>
group_by(measure,subject,sub_macro) |>
summarize(acro_cnt = table(cut(acrophase,cuts)) |> enframe()) |>
unnest(acro_cnt) |>
mutate(tod=cuts[which(bins == name)]+binsize/2) |>
mutate(value=as.numeric(value)/sum(value)) |>
filter(value!=0) |>
ggplot(aes(reorder_within(subject, (sub_macro)%%24, measure),tod))+
night_recty_early()+
night_recty()+
scale_x_reordered()+
xlab("Subject")+ylab("ROI S-cosinor Acrophase")+
geom_tile(fill="black",width=0.5,height=binsize)+
coord_flip()+
facet_grid(measure~.,scales="free")+ #,space = "free")
geom_point(data=WB_Scosinor |>
mutate(measure=recode(measure, !!!int2extlab)),
aes(reorder_within(subject,(acrophase)%%24, measure),
acrophase,group=NA),size=1,alpha=0.7,color=colors$ssc,
position=position_nudge(x = 0.3, y = 0))+
scale_y_continuous(limits=c(0,24),breaks=seq(0,24,3))+
theme_condense()
f3a_sub_act
binsize=0.1
cuts <- seq(0,24,binsize)
bins <- levels(cut(1,cuts))
# (Partial) Source Data
write_csv(WB_Gcosinor |>
filter(measure %in% c("cbf","gm_md","md")) |>
mutate(measure=recode(measure, !!!int2extlab)) |>
select(measure,acrophase),"output/source_data/Figure_3a_partial.csv")
f3a_sub_act_ss <-
tmpdf |> filter(measure %in% c("cbf","gm_md","md","qt1")) |>
# Keep measure ordering
mutate(measure=recode(measure, !!!int2extlab)) |>
group_by(measure,subject,sub_macro) |>
summarize(acro_cnt = table(cut(acrophase,cuts)) |> enframe()) |>
unnest(acro_cnt) |>
mutate(tod=cuts[which(bins == name)]+binsize/2) |>
# get acrobins with data
mutate(value=as.numeric(value)/sum(value)) |>
filter(value!=0) |>
ggplot(aes(reorder_within(subject, (sub_macro)%%24, measure),tod))+
night_recty_early()+
night_recty()+
scale_x_reordered()+
xlab("Subject")+ylab("ROI S-cosinor Acrophase")+
#Data
geom_point(data=WB_Scosinor |>
filter(measure %in% c("cbf","gm_md","md","qt1")) |>
mutate(measure=recode(measure, !!!int2extlab)),
aes(reorder_within(subject,(acrophase)%%24, measure),
acrophase,group=NA),size=1.5,alpha=0.7,color=colors$ssc,
position=position_nudge(x = 0.3, y = 0))+
geom_tile(fill="black",width=0.5,height=binsize)+
coord_flip(ylim = c(0,24))+
facet_grid(measure~.,scales="free")+ #,space = "free")
geom_hline(data=WB_Gcosinor |>
filter(measure %in% c("cbf","gm_md","md")) |>
mutate(measure=recode(measure, !!!int2extlab)),
aes(yintercept=acrophase,group=NA),
size=1,color=colors$gcos_sig)+
scale_y_continuous(breaks=seq(0,24,3))+
theme_condense()+
theme(axis.text=element_text(size=8))
f3a_sub_act_ss
rhosum_p <-
plotdf |>
mutate(measure=recode(measure, !!!int2extlab)) |>
unnest(by_visit) |>
ungroup() |>
select(measure,subject,sub_macro,sub_resultant) |> unique() |>
ggplot(aes(reorder_within(subject, (sub_macro)%%24, measure),
1-sub_resultant))+
geom_col(width = 0.5,fill="#C26179")+
coord_flip()+
xlab(NULL)+
ylab("Acrophase Variance")+
scale_x_reordered()+
scale_y_continuous(breaks=c(0,0.5,1))+
facet_grid(measure~.,scales="free")+
theme_condense()
rhosum_p
rhosum_ss_p <-
plotdf |>
filter(measure %in% c("cbf","gm_md","md","qt1")) |>
unnest(by_visit) |>
ungroup() |>
select(measure,subject,sub_macro,sub_resultant) |> unique() |>
ggplot(aes(reorder_within(subject, (sub_macro)%%24, measure),
1-sub_resultant))+
geom_col(width = 0.5,fill="#C26179")+
coord_flip()+
xlab(NULL)+
ylab(expression(1-abs(rho[within-subject])))+
scale_x_reordered()+
scale_y_continuous(breaks=c(0,0.5,1))+
facet_grid(int2extlab[measure]~.,scales="free")+ #,space = "free")+
theme_condense()
rhosum_ss_p
For supplemental
binsize=0.4
cuts <- seq(0,24,binsize)
bins <- levels(cut(1,cuts))
# (Partial) Source Data
figS3cSD <-
tmpdf |>
mutate(measure=recode(measure, !!!int2extlab)) |>
filter(q_gcos_cos<0.05) |>
select(roin,roi,measure,tod=gcos_acro) |>
mutate(subject="Cohort") |> unique()
write_csv(figS3cSD,"output/source_data/Figure_S3c_partial.csv")
p_roiact<-
tmpdf |>
group_by(measure,roin) |>
mutate(measure=recode(measure, !!!int2extlab)) |>
summarize(acro_cnt = table(cut(acrophase,cuts)) |> enframe()) |>
unnest(acro_cnt) |>
mutate(tod=cuts[which(bins == name)]+binsize/2) |>
mutate(value=as.numeric(value)/sum(value)) |>
filter(value!=0) |>
ggplot(aes(-roin,tod))+
night_recty_early()+
scale_x_reordered()+
ylab("ROI S(G)-cosinor Acrophase")+
xlab("ROI ranked by G-cosinor p")+
geom_tile(fill="black",width=1,height=binsize)+
coord_flip()+
facet_grid(measure~.,scales="free")+ #,space = "free")
geom_point(size=0.5,data=figS3cSD,color="blue",alpha=0.7)+
scale_y_continuous(limits=c(0,24),breaks=seq(0,24,3))+
theme_condense()
p_roiact
In main text, maximal acrophase differences are reported alongside the span of CIs
plotdf |>
inner_join(WB_Gcosinor |> select(measure,acrophase),by="measure") |>
filter(q_gcos_cos<0.05) |>
group_by(measure) |>
summarize(circdist(gcos_acro,acrophase) |> abs() |> max())
# A tibble: 3 × 2
measure `max(abs(circdist(gcos_acro, acrophase)))`
<chr> <dbl>
1 cbf 2.90
2 gm_md 3.76
3 md 5.12
WB_Gcosinor |>
filter(pvalue<0.05) |>
mutate(span=circdist(acro_u,acro_l)) |>
select(measure,span)
# A tibble: 4 × 2
# Groups: measure [4]
measure span
<chr> <dbl>
1 cbf 3.08
2 fa 5.79
3 gm_md 4.13
4 md 3.52
predat <- plotdf |>
filter(measure %in% c("cbf","gm_md","md","qt1")) |>
group_by(measure) |>
arrange(measure) |>
mutate(nsig=sum(q_gcos_cos<0.05),n=n())
## Source Data
# ROI data
fig3cSD <-
predat |>
ungroup() |>
mutate(measure=int2extlab[measure]) |>
select(measure, nsig, n, p_gcos_cos,q_gcos_cos,gcos_acro)
write_csv(fig3cSD, "output/source_data/Figure_3c_part1.csv")
# WB data
fig3cSD2 <-
WB_Gcosinor |>
right_join(predat |>
select(measure,nsig,n) |>
unique()) |>
filter(pvalue<0.05) |>
ungroup() |>
mutate(measure=int2extlab[measure]) |>
select(measure,nsig,n,pvalue,acrophase,acro_l,acro_u)
write_csv(fig3cSD2,"output/source_data/Figure_3c_part2.csv")
gcrose_ss_p <-
fig3cSD |>
mutate(label=fct_inorder(paste0(measure," (",nsig,"/",n,")"))) |>
ggplot(aes(gcos_acro,-log10(p_gcos_cos)))+
night_rect_early()+
geom_rect(xmin=-1,xmax=25,ymin=-2,ymax=0,fill="white",color=NA)+
annotate(geom="segment",x=seq(0,24,3),y=4,yend=0,xend=seq(0,24,3),
color="grey90",size=0.3)+
geom_hline(yintercept = 0,color="grey50")+
geom_hline(yintercept = c(1,2,3,4),color="grey90",size=0.5)+
coord_polar()+
scale_y_continuous(limits = c(-2,NA),breaks=c(0,1,2,3,4))+
scale_x_continuous(limits=c(0,24),breaks=seq(0,24,3))+
xlab("ROI G-cosinor Acrophase")+
ylab(expression(log[10](p[G])))+
# Making WM-MD larger since fewer ROIs
# unused
geom_point(aes(size=1/n,fill=q_gcos_cos<0.05),alpha=0.7,
shape=21, stroke=0,
color="transparent"
)+
scale_size_continuous(range = c(1,1),guide='none')+
theme(panel.border=element_blank())+
theme(panel.grid=element_blank())+
geom_point(data=fig3cSD2 |>
mutate(label=fct_inorder(paste0(measure," (",nsig,"/",n,")"))),
aes(acrophase,5,color=pvalue<0.05),size=2)+
geom_errorbar(data=fig3cSD2 |> mutate(label=fct_inorder(paste0(measure," (",nsig,"/",n,")"))),
aes(acrophase,5,xmin=acro_l,xmax=acro_u,
color=pvalue<0.05),size=1.5)+
scale_fill_manual(labels=c(bquote(q[G]*"<0.05"),
bquote(q[G]*">0.05")),
values = c("TRUE"=colors$gcos_sig,
"FALSE"="black"),guide="none")+
scale_color_manual(labels=c(bquote(q[G]*"<0.05"),
bquote(q[G]*">0.05")),
values = c("TRUE"=colors$gcos_sig,
"FALSE"="black"),guide='none')+
# Remove for post
# guides(color=guide_legend(title=""))+
facet_grid(label~.)+theme_condense()
gcrose_ss_p
# Copied from main fig code and commented out
predat <- plotdf |>
# filter(measure %in% c("cbf","gm_md","md","qt1")) |>
group_by(measure) |>
arrange(measure) |>
mutate(nsig=sum(q_gcos_cos<0.05),n=n())
## Source Data
# ROI data
figS3dSD <-
predat |>
ungroup() |>
mutate(measure=int2extlab[measure]) |>
select(measure,nsig,n, p_gcos_cos,n, q_gcos_cos,gcos_acro)
write_csv(figS3dSD,"output/source_data/Figure_S3d_part1.csv")
# WB data
figS3dSD2 <-
WB_Gcosinor |>
right_join(predat |>
select(measure,n,nsig) |>
unique()) |>
filter(pvalue<0.05) |>
ungroup() |>
mutate(measure=int2extlab[measure]) |>
select(measure,nsig,n,acrophase,acro_l,acro_u,pvalue)
write_csv(figS3dSD2,"output/source_data/Figure_S3d_part2.csv")
gcrose_p <-
figS3dSD |>
mutate(label=fct_inorder(paste0(measure," (",nsig,"/",n,")"))) |>
ggplot(aes(gcos_acro,-log10(p_gcos_cos)))+
night_rect_early()+
geom_rect(xmin=-1,xmax=25,ymin=-2,ymax=0,fill="white",color=NA)+
annotate(geom="segment",x=seq(0,24,3),y=4,yend=0,xend=seq(0,24,3),
color="grey90",size=0.3)+
geom_hline(yintercept = 0,color="grey50")+
geom_hline(yintercept = c(1,2,3,4),color="grey90",size=0.5)+
coord_polar()+
scale_y_continuous(limits = c(-2,NA),breaks=c(0,1,2,3,4))+
scale_x_continuous(limits=c(0,24),breaks=seq(0,24,3))+
xlab("ROI G-cosinor Acrophase")+
ylab(expression(log[10](p[G])))+
# Making WM-MD larger since fewer ROIs
# unused
geom_point(aes(size=1/n,fill=q_gcos_cos<0.05),alpha=0.7,
shape=21, stroke=0,
color="transparent"
)+
scale_size_continuous(range = c(1,1),guide='none')+
theme(panel.border=element_blank())+
theme(panel.grid=element_blank())+
geom_point(data=figS3dSD2 |>
mutate(label=fct_inorder(paste0(measure," (",nsig,"/",n,")"))),
aes(acrophase,5,color=pvalue<0.05),size=1.5)+
geom_errorbar(data=figS3dSD2 |> mutate(label=fct_inorder(paste0(measure," (",nsig,"/",n,")"))),
aes(acrophase,5,xmin=acro_l,xmax=acro_u,
color=pvalue<0.05),size=1)+
scale_fill_manual(labels=c(bquote(q[G]*"<0.05"),
bquote(q[G]*">0.05")),
values = c("TRUE"=colors$gcos_sig,
"FALSE"="black"),guide="none")+
scale_color_manual(labels=c(bquote(q[G]*"<0.05"),
bquote(q[G]*">0.05")),
values = c("TRUE"=colors$gcos_sig,
"FALSE"="black"),guide='none')+
guides(color=guide_legend(title=""))+
facet_grid(label~.)+theme_condense()
gcrose_p
library(ggsegGlasser)
library(ggseg)
meta <- get_glasser_spatial_meta()
meta[!(meta$region %in% glasser$data$region),]
# A tibble: 0 × 15
# … with 15 variables: regionName <chr>, regionLongName <chr>, regionIdLabel <chr>, LR <chr>,
# region <chr>, Lobe <chr>, cortex <chr>, regionID <dbl>, Cortex_ID <dbl>, x-cog <dbl>, y-cog <dbl>,
# z-cog <dbl>, volmm <dbl>, roi <chr>, hemi <chr>
glasser$data[!(glasser$data$region %in% meta$region),]
Simple feature collection with 2 features and 4 fields
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: 438.8319 ymin: 6.778569 xmax: 961.9789 ymax: 126.6569
CRS: NA
# ggseg atlas
hemi region side label geometry
<chr> <chr> <chr> <chr> <MULTIPOLYGON>
1 left <NA> medial lh_??? (((528.977 123.0814, 523.8317 121.4616, 516.5314 122.7013, 510.249 122.6745…
2 right <NA> medial rh_??? (((868.243 126.2886, 864.9204 122.4204, 861.5556 122.3028, 857.8689 123.743…
full_join(ROI_Gcosinor |> filter(measure=="cbf"),
meta |> select(region,hemi,roi)) |>
filter(!is.na(qvalue) & !is.na(region)) |> pull(roi)
[1] "L_V1_ROI" "L_MST_ROI" "L_V6_ROI" "L_V2_ROI" "L_V3_ROI" "L_V4_ROI"
[7] "L_V8_ROI" "L_4_ROI" "L_3b_ROI" "L_FEF_ROI" "L_PEF_ROI" "L_55b_ROI"
[13] "L_V3A_ROI" "L_RSC_ROI" "L_POS2_ROI" "L_V7_ROI" "L_IPS1_ROI" "L_FFC_ROI"
[19] "L_V3B_ROI" "L_LO1_ROI" "L_LO2_ROI" "L_PIT_ROI" "L_MT_ROI" "L_A1_ROI"
[25] "L_PSL_ROI" "L_SFL_ROI" "L_PCV_ROI" "L_STV_ROI" "L_7Pm_ROI" "L_7m_ROI"
[31] "L_POS1_ROI" "L_23d_ROI" "L_v23ab_ROI" "L_d23ab_ROI" "L_31pv_ROI" "L_5m_ROI"
[37] "L_5mv_ROI" "L_23c_ROI" "L_5L_ROI" "L_24dd_ROI" "L_24dv_ROI" "L_7AL_ROI"
[43] "L_SCEF_ROI" "L_6ma_ROI" "L_7Am_ROI" "L_7PL_ROI" "L_7PC_ROI" "L_LIPv_ROI"
[49] "L_VIP_ROI" "L_MIP_ROI" "L_1_ROI" "L_2_ROI" "L_3a_ROI" "L_6d_ROI"
[55] "L_6mp_ROI" "L_6v_ROI" "L_p24pr_ROI" "L_33pr_ROI" "L_a24pr_ROI" "L_p32pr_ROI"
[61] "L_a24_ROI" "L_d32_ROI" "L_8BM_ROI" "L_p32_ROI" "L_10r_ROI" "L_47m_ROI"
[67] "L_8Av_ROI" "L_8Ad_ROI" "L_9m_ROI" "L_8BL_ROI" "L_9p_ROI" "L_10d_ROI"
[73] "L_8C_ROI" "L_44_ROI" "L_45_ROI" "L_47l_ROI" "L_a47r_ROI" "L_6r_ROI"
[79] "L_IFJa_ROI" "L_IFJp_ROI" "L_IFSp_ROI" "L_IFSa_ROI" "L_p9-46v_ROI" "L_46_ROI"
[85] "L_a9-46v_ROI" "L_9-46d_ROI" "L_9a_ROI" "L_10v_ROI" "L_a10p_ROI" "L_10pp_ROI"
[91] "L_11l_ROI" "L_13l_ROI" "L_OFC_ROI" "L_47s_ROI" "L_LIPd_ROI" "L_6a_ROI"
[97] "L_i6-8_ROI" "L_s6-8_ROI" "L_43_ROI" "L_OP4_ROI" "L_OP1_ROI" "L_OP2-3_ROI"
[103] "L_52_ROI" "L_RI_ROI" "L_PFcm_ROI" "L_PoI2_ROI" "L_TA2_ROI" "L_FOP4_ROI"
[109] "L_MI_ROI" "L_Pir_ROI" "L_AVI_ROI" "L_AAIC_ROI" "L_FOP1_ROI" "L_FOP3_ROI"
[115] "L_FOP2_ROI" "L_PFt_ROI" "L_AIP_ROI" "L_EC_ROI" "L_PreS_ROI" "L_ProS_ROI"
[121] "L_PeEc_ROI" "L_STGa_ROI" "L_PBelt_ROI" "L_A5_ROI" "L_PHA1_ROI" "L_PHA3_ROI"
[127] "L_STSda_ROI" "L_STSdp_ROI" "L_STSvp_ROI" "L_TGd_ROI" "L_TE1a_ROI" "L_TE1p_ROI"
[133] "L_TE2a_ROI" "L_TF_ROI" "L_TE2p_ROI" "L_PHT_ROI" "L_PH_ROI" "L_TPOJ1_ROI"
[139] "L_TPOJ2_ROI" "L_TPOJ3_ROI" "L_DVT_ROI" "L_PGp_ROI" "L_IP2_ROI" "L_IP1_ROI"
[145] "L_IP0_ROI" "L_PFop_ROI" "L_PF_ROI" "L_PFm_ROI" "L_PGi_ROI" "L_PGs_ROI"
[151] "L_V6A_ROI" "L_VMV1_ROI" "L_VMV3_ROI" "L_PHA2_ROI" "L_V4t_ROI" "L_FST_ROI"
[157] "L_V3CD_ROI" "L_LO3_ROI" "L_VMV2_ROI" "L_31pd_ROI" "L_31a_ROI" "L_VVC_ROI"
[163] "L_25_ROI" "L_s32_ROI" "L_pOFC_ROI" "L_PoI1_ROI" "L_Ig_ROI" "L_FOP5_ROI"
[169] "L_p10p_ROI" "L_p47r_ROI" "L_TGv_ROI" "L_MBelt_ROI" "L_LBelt_ROI" "L_A4_ROI"
[175] "L_STSva_ROI" "L_TE1m_ROI" "L_PI_ROI" "L_a32pr_ROI" "L_p24_ROI" "R_V1_ROI"
[181] "R_MST_ROI" "R_V6_ROI" "R_V2_ROI" "R_V3_ROI" "R_V4_ROI" "R_V8_ROI"
[187] "R_4_ROI" "R_3b_ROI" "R_FEF_ROI" "R_PEF_ROI" "R_55b_ROI" "R_V3A_ROI"
[193] "R_RSC_ROI" "R_POS2_ROI" "R_V7_ROI" "R_IPS1_ROI" "R_FFC_ROI" "R_V3B_ROI"
[199] "R_LO1_ROI" "R_LO2_ROI" "R_PIT_ROI" "R_MT_ROI" "R_A1_ROI" "R_PSL_ROI"
[205] "R_SFL_ROI" "R_PCV_ROI" "R_STV_ROI" "R_7Pm_ROI" "R_7m_ROI" "R_POS1_ROI"
[211] "R_23d_ROI" "R_v23ab_ROI" "R_d23ab_ROI" "R_31pv_ROI" "R_5m_ROI" "R_5mv_ROI"
[217] "R_23c_ROI" "R_5L_ROI" "R_24dd_ROI" "R_24dv_ROI" "R_7AL_ROI" "R_SCEF_ROI"
[223] "R_6ma_ROI" "R_7Am_ROI" "R_7PL_ROI" "R_7PC_ROI" "R_LIPv_ROI" "R_VIP_ROI"
[229] "R_MIP_ROI" "R_1_ROI" "R_2_ROI" "R_3a_ROI" "R_6d_ROI" "R_6mp_ROI"
[235] "R_6v_ROI" "R_p24pr_ROI" "R_33pr_ROI" "R_a24pr_ROI" "R_p32pr_ROI" "R_a24_ROI"
[241] "R_d32_ROI" "R_8BM_ROI" "R_p32_ROI" "R_10r_ROI" "R_47m_ROI" "R_8Av_ROI"
[247] "R_8Ad_ROI" "R_9m_ROI" "R_8BL_ROI" "R_9p_ROI" "R_10d_ROI" "R_8C_ROI"
[253] "R_44_ROI" "R_45_ROI" "R_47l_ROI" "R_a47r_ROI" "R_6r_ROI" "R_IFJa_ROI"
[259] "R_IFJp_ROI" "R_IFSp_ROI" "R_IFSa_ROI" "R_p9-46v_ROI" "R_46_ROI" "R_a9-46v_ROI"
[265] "R_9-46d_ROI" "R_9a_ROI" "R_10v_ROI" "R_a10p_ROI" "R_10pp_ROI" "R_11l_ROI"
[271] "R_13l_ROI" "R_OFC_ROI" "R_47s_ROI" "R_LIPd_ROI" "R_6a_ROI" "R_i6-8_ROI"
[277] "R_s6-8_ROI" "R_43_ROI" "R_OP4_ROI" "R_OP1_ROI" "R_OP2-3_ROI" "R_52_ROI"
[283] "R_RI_ROI" "R_PFcm_ROI" "R_PoI2_ROI" "R_TA2_ROI" "R_FOP4_ROI" "R_MI_ROI"
[289] "R_Pir_ROI" "R_AVI_ROI" "R_AAIC_ROI" "R_FOP1_ROI" "R_FOP3_ROI" "R_FOP2_ROI"
[295] "R_PFt_ROI" "R_AIP_ROI" "R_EC_ROI" "R_PreS_ROI" "R_ProS_ROI" "R_PeEc_ROI"
[301] "R_STGa_ROI" "R_PBelt_ROI" "R_A5_ROI" "R_PHA1_ROI" "R_PHA3_ROI" "R_STSda_ROI"
[307] "R_STSdp_ROI" "R_STSvp_ROI" "R_TGd_ROI" "R_TE1a_ROI" "R_TE1p_ROI" "R_TE2a_ROI"
[313] "R_TF_ROI" "R_TE2p_ROI" "R_PHT_ROI" "R_PH_ROI" "R_TPOJ1_ROI" "R_TPOJ2_ROI"
[319] "R_TPOJ3_ROI" "R_DVT_ROI" "R_PGp_ROI" "R_IP2_ROI" "R_IP1_ROI" "R_IP0_ROI"
[325] "R_PFop_ROI" "R_PF_ROI" "R_PFm_ROI" "R_PGi_ROI" "R_PGs_ROI" "R_V6A_ROI"
[331] "R_VMV1_ROI" "R_VMV3_ROI" "R_PHA2_ROI" "R_V4t_ROI" "R_FST_ROI" "R_V3CD_ROI"
[337] "R_LO3_ROI" "R_VMV2_ROI" "R_31pd_ROI" "R_31a_ROI" "R_VVC_ROI" "R_25_ROI"
[343] "R_s32_ROI" "R_pOFC_ROI" "R_PoI1_ROI" "R_Ig_ROI" "R_FOP5_ROI" "R_p10p_ROI"
[349] "R_p47r_ROI" "R_TGv_ROI" "R_MBelt_ROI" "R_LBelt_ROI" "R_A4_ROI" "R_STSva_ROI"
[355] "R_TE1m_ROI" "R_PI_ROI" "R_a32pr_ROI" "R_p24_ROI"
# Source Data
fig3bSD <-
ROI_Gcosinor |>
# GM with any(qvalue<0.05)
filter(measure %in% c("cbf","gm_md","qt1")) |>
mutate(acro=ifelse(qvalue<0.05,acrophase,NA)) |>
select(measure,roi,acro)
write_csv(fig3bSD |> mutate(measure=int2extlab[measure]),
"output/source_data/Figure_3b_part1.csv")
# GM-MD and GM-qT1 are reordered in post
spatial_p <-
inner_join(fig3bSD,meta) |>
ungroup() |>
ggplot(aes(fill=acro))+
facet_wrap(~int2extlab[measure],nrow=5)+
theme_condense()+
scale_fill_clock(rot=15,na.value="grey95")+
geom_brain(atlas = glasser,
position=position_brain(side ~ hemi),
color="grey",size=0.1)+
theme_void()
spatial_p
myaseg <- get_subcor_ggseg_atlas()
spatial_subcort_p <- fig3bSD |>
rename(label=roi) |>
ungroup() |>
select(label,acro,measure) |>
ggplot(aes(fill=acro))+
theme_condense()+
scale_fill_clock(rot=15,na.value="grey95")+
facet_wrap(~int2extlab[measure],nrow=3)+
geom_brain(atlas = myaseg)+
theme_void()
spatial_subcort_p
To be added manually to final figure
library(ggsegICBM)
library(plotly)
library(ggseg3d)
meta <- get_icbm_spatial_meta()
pdf <- ROI_Gcosinor |> filter(measure=="md")
# Source Data
fig3bSD2 <-
pdf |>
mutate(acro=ifelse(qvalue<0.05,acrophase,NA)) |>
select(measure,roi,acro)
write_csv(fig3bSD2 |> mutate(measure=int2extlab[measure]),
"output/source_data/Figure_3b_part2.csv")
pdf2 <- inner_join(fig3bSD2,meta) |> icbm_preprocess()
pdf2$region %in% icbm_3d$ggseg_3d[[1]]$region
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[21] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[41] TRUE TRUE TRUE TRUE TRUE
rot=15
pal <- 1:24
names(pal) <- rainbow(24)[((1:24)-1+rot)%%24+1]
p3d <-
pdf2 |>
select(measure,acro,roi,region) |>
ggseg3d(atlas = icbm_3d,colour="acro",
palette = pal,na.alpha = 0.01) |>
add_glassbrain(opacity=0.05) |>
pan_camera("right lateral") |>
remove_axes()
p3d